<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>libwebsockets: lws_client_connect_info Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="libwebsockets.org-logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libwebsockets
   </div>
   <div id="projectbrief">Lightweight C library for HTML5 websockets</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('structlws__client__connect__info.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">lws_client_connect_info Struct Reference<div class="ingroups"><a class="el" href="group__client.html">Client</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="libwebsockets_8h_source.html">libwebsockets.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:afe999d133cc240a0bfd02aade0514cfd"><td class="memItemLeft" align="right" valign="top">struct lws_context *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#afe999d133cc240a0bfd02aade0514cfd">context</a></td></tr>
<tr class="separator:afe999d133cc240a0bfd02aade0514cfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa364094f94ef1bcaaabbd9161971d502"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#aa364094f94ef1bcaaabbd9161971d502">address</a></td></tr>
<tr class="separator:aa364094f94ef1bcaaabbd9161971d502"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1af124d81c3c22a46d39387c5bc3d6b9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#a1af124d81c3c22a46d39387c5bc3d6b9">port</a></td></tr>
<tr class="separator:a1af124d81c3c22a46d39387c5bc3d6b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9862297827639238a7a0b4054c3ddf3d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#a9862297827639238a7a0b4054c3ddf3d">ssl_connection</a></td></tr>
<tr class="separator:a9862297827639238a7a0b4054c3ddf3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76a8388733f114fb8fd3643874781185"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#a76a8388733f114fb8fd3643874781185">path</a></td></tr>
<tr class="separator:a76a8388733f114fb8fd3643874781185"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b36d47c3422329df32c21040a35ebc7"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#a9b36d47c3422329df32c21040a35ebc7">host</a></td></tr>
<tr class="separator:a9b36d47c3422329df32c21040a35ebc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8595f83e64147cb687b6418cf500dd4c"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#a8595f83e64147cb687b6418cf500dd4c">origin</a></td></tr>
<tr class="separator:a8595f83e64147cb687b6418cf500dd4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba35adfb74845a5fd0c3dc141cbdddd2"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#aba35adfb74845a5fd0c3dc141cbdddd2">protocol</a></td></tr>
<tr class="separator:aba35adfb74845a5fd0c3dc141cbdddd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69abb5aeed755750b9755e5c91db6895"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#a69abb5aeed755750b9755e5c91db6895">ietf_version_or_minus_one</a></td></tr>
<tr class="separator:a69abb5aeed755750b9755e5c91db6895"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9831b9f9ab54a1aec4bb15324f1c3836"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#a9831b9f9ab54a1aec4bb15324f1c3836">userdata</a></td></tr>
<tr class="separator:a9831b9f9ab54a1aec4bb15324f1c3836"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7732b996e977393c3e1076be2a8ded6c"><td class="memItemLeft" align="right" valign="top">const struct <a class="el" href="structlws__extension.html">lws_extension</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#a7732b996e977393c3e1076be2a8ded6c">client_exts</a></td></tr>
<tr class="separator:a7732b996e977393c3e1076be2a8ded6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9e8e3da4e783a0651b0dea62c2dd1db"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#aa9e8e3da4e783a0651b0dea62c2dd1db">method</a></td></tr>
<tr class="separator:aa9e8e3da4e783a0651b0dea62c2dd1db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6843a60e1050b10db9d98d7eeb45f587"><td class="memItemLeft" align="right" valign="top">struct lws *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#a6843a60e1050b10db9d98d7eeb45f587">parent_wsi</a></td></tr>
<tr class="separator:a6843a60e1050b10db9d98d7eeb45f587"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03c305fdca809667b6a9a83b3edfd83a"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#a03c305fdca809667b6a9a83b3edfd83a">uri_replace_from</a></td></tr>
<tr class="separator:a03c305fdca809667b6a9a83b3edfd83a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9959ba103d3d2484e559a9f7879eebe3"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#a9959ba103d3d2484e559a9f7879eebe3">uri_replace_to</a></td></tr>
<tr class="separator:a9959ba103d3d2484e559a9f7879eebe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3893181d728f326f9f5b47c1459cb8be"><td class="memItemLeft" align="right" valign="top">struct lws_vhost *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#a3893181d728f326f9f5b47c1459cb8be">vhost</a></td></tr>
<tr class="separator:a3893181d728f326f9f5b47c1459cb8be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a065063b5117ecd0a59567c97f04bda2e"><td class="memItemLeft" align="right" valign="top">struct lws **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#a065063b5117ecd0a59567c97f04bda2e">pwsi</a></td></tr>
<tr class="separator:a065063b5117ecd0a59567c97f04bda2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad47f50d1633dc5df74548606c9a66d73"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html#ad47f50d1633dc5df74548606c9a66d73">_unused</a> [4]</td></tr>
<tr class="separator:ad47f50d1633dc5df74548606c9a66d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>struct <a class="el" href="structlws__client__connect__info.html">lws_client_connect_info</a> - parameters to connect with when using <a class="el" href="group__client.html#ga0c966136905f467816307cfba6deb5fd">lws_client_connect_via_info()</a> </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a class="anchor" id="ad47f50d1633dc5df74548606c9a66d73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* lws_client_connect_info::_unused[4]</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>dummy </p>

</div>
</div>
<a class="anchor" id="aa364094f94ef1bcaaabbd9161971d502"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* lws_client_connect_info::address</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>remote address to connect to </p>

</div>
</div>
<a class="anchor" id="a7732b996e977393c3e1076be2a8ded6c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const struct <a class="el" href="structlws__extension.html">lws_extension</a>* lws_client_connect_info::client_exts</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>array of extensions that may be used on connection </p>

</div>
</div>
<a class="anchor" id="afe999d133cc240a0bfd02aade0514cfd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct lws_context* lws_client_connect_info::context</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>lws context to create connection in </p>

</div>
</div>
<a class="anchor" id="a9b36d47c3422329df32c21040a35ebc7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* lws_client_connect_info::host</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>content of host header </p>

</div>
</div>
<a class="anchor" id="a69abb5aeed755750b9755e5c91db6895"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int lws_client_connect_info::ietf_version_or_minus_one</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>deprecated: currently leave at 0 or -1 </p>

</div>
</div>
<a class="anchor" id="aa9e8e3da4e783a0651b0dea62c2dd1db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* lws_client_connect_info::method</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>if non-NULL, do this http method instead of ws[s] upgrade. use "GET" to be a simple http client connection </p>

</div>
</div>
<a class="anchor" id="a8595f83e64147cb687b6418cf500dd4c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* lws_client_connect_info::origin</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>content of origin header </p>

</div>
</div>
<a class="anchor" id="a6843a60e1050b10db9d98d7eeb45f587"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct lws* lws_client_connect_info::parent_wsi</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>if another wsi is responsible for this connection, give it here. this is used to make sure if the parent closes so do any child connections first. </p>

</div>
</div>
<a class="anchor" id="a76a8388733f114fb8fd3643874781185"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* lws_client_connect_info::path</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>uri path </p>

</div>
</div>
<a class="anchor" id="a1af124d81c3c22a46d39387c5bc3d6b9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int lws_client_connect_info::port</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>remote port to connect to </p>

</div>
</div>
<a class="anchor" id="aba35adfb74845a5fd0c3dc141cbdddd2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* lws_client_connect_info::protocol</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>list of ws protocols we could accept </p>

</div>
</div>
<a class="anchor" id="a065063b5117ecd0a59567c97f04bda2e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct lws** lws_client_connect_info::pwsi</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>if not NULL, store the new wsi here early in the connection process. Although we return the new wsi, the call to create the client connection does progress the connection somewhat and may meet an error that will result in the connection being scrubbed and NULL returned. While the wsi exists though, he may process a callback like CLIENT_CONNECTION_ERROR with his wsi: this gives the user callback a way to identify which wsi it is that faced the error even before the new wsi is returned and even if ultimately no wsi is returned. </p>

</div>
</div>
<a class="anchor" id="a9862297827639238a7a0b4054c3ddf3d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int lws_client_connect_info::ssl_connection</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>nonzero for ssl </p>

</div>
</div>
<a class="anchor" id="a03c305fdca809667b6a9a83b3edfd83a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* lws_client_connect_info::uri_replace_from</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>if non-NULL, when this string is found in URIs in text/html content-encoding, it's replaced with uri_replace_to </p>

</div>
</div>
<a class="anchor" id="a9959ba103d3d2484e559a9f7879eebe3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* lws_client_connect_info::uri_replace_to</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>see uri_replace_from </p>

</div>
</div>
<a class="anchor" id="a9831b9f9ab54a1aec4bb15324f1c3836"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* lws_client_connect_info::userdata</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>if non-NULL, use this as wsi user_data instead of malloc it </p>

</div>
</div>
<a class="anchor" id="a3893181d728f326f9f5b47c1459cb8be"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct lws_vhost* lws_client_connect_info::vhost</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>vhost to bind to (used to determine related SSL_CTX) </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>lib/<a class="el" href="libwebsockets_8h_source.html">libwebsockets.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="structlws__client__connect__info.html">lws_client_connect_info</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
